iT邦幫忙

2024 iThome 鐵人賽

DAY 15
0
Kubernetes

成為 Kubernetes 特級咒術師的 30 天修行系列 第 15

第十五篇:詞嵌入模型(Embedding Model)的設置與使用

  • 分享至 

  • xImage
  •  

前言

一個 RAG 問答系統在將原始資料與輸入的問題進行處理時,都必須先經過向量化的步驟,而要向量化就需要透過詞嵌入模型(Embedding Model)。
在我們設置完向量資料庫後,接下來我們就先來看看如何設置一個 Embedding Model。

Embedding Model 的設置

在 Qdrant 官網的 Embedding 文件中有提到,Qdrant 支援所有可用的文字和多模態密集向量 Embedding Model 以及向量嵌入服務,並沒有任何限制,因此,我們就可以使用自己想使用的 Embedding Model

首先,我們先來設置 Embedding Model,在這裡我們示範時是使用 intfloat/multilingual-e5-large 作為我們的 Embedding Model。

# 設置 Embedding Model 的名稱
model_name = 'intfloat/multilingual-e5-large'

# 設置使用的 Embedding Model(intfloat/multilingual-e5-large)
qdrant_client.set_model(model_name, cache_dir="/src/.cache")

在設置好 Embedding Model 後,我們要將經過前處理好的資料,透過 Embedding Model 進行向量化後再加入到 Qdrant 中。

# 設置 Collection 的名稱
collection_name = "{collection_name}"

# 將資料(document_content)加入到 Collection 中
document_content = "量子計算是一種利用量子力學原理..."
qdrant_client.add(
    collection_name=collection_name,
    documents=[document_content],
    metadata=[{"theme": "量子計算"}]
)

依照上述的做法,我們就可以成功將一筆資料(document_content)透過名為 intfloat/multilingual-e5-large 的 Embedding Model 進行向量化後,加入到 Collection 中,並且在該筆資料的 metadata 中記錄了其 theme 為「量子計算」!
接下來,明天我們就來看看如何進行檢索吧~

※ 在 Hugging Face 中有提供一個 Massive Text Embedding Benchmark (MTEB) Leaderboard,提拱大量 Embedding Model 在不同語言中的測試 Benchmark。


上一篇
第十四篇:向量資料庫(Vector Database)的介紹與設置
下一篇
第十六篇:檢索的方法與效果
系列文
成為 Kubernetes 特級咒術師的 30 天修行26
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言